package com.sjy.ship.service;

import java.util.List;

import com.sjy.common.core.domain.AjaxResult;
import com.sjy.ship.domain.ShipInfo;

/**
 * 船舶信息Service接口
 * 
 * @author lzm
 * @date 2023-06-14
 */
public interface IShipInfoService 
{
    /**
     * 查询船舶信息
     * 
     * @param shipId 船舶信息主键
     * @return 船舶信息
     */
    public ShipInfo selectShipInfoByShipId(Long shipId);

    /**
     * 查询船舶信息列表
     * 
     * @param shipInfo 船舶信息
     * @return 船舶信息集合
     */
    public List<ShipInfo> selectShipInfoList(ShipInfo shipInfo);

    /**
     * 新增船舶信息
     * 
     * @param shipInfo 船舶信息
     * @return 结果
     */
    public AjaxResult insertShipInfo(ShipInfo shipInfo);

    /**
     * 修改船舶信息
     * 
     * @param shipInfo 船舶信息
     * @return 结果
     */
    public AjaxResult updateShipInfo(ShipInfo shipInfo);

    /**
     * 批量删除船舶信息
     * 
     * @param shipIds 需要删除的船舶信息主键集合
     * @return 结果
     */
    public AjaxResult deleteShipInfoByShipIds(Long[] shipIds);

    /**
     * 删除船舶信息信息
     * 
     * @param shipId 船舶信息主键
     * @return 结果
     */
    public AjaxResult deleteShipInfoByShipId(Long shipId);
    /**
     * 查询船舶信息缓存列表
     * @param isDelete 是否先删除缓存键
     * @return 船舶信息集合
     */
    List<ShipInfo> selectShipInfoCacheList(boolean isDelete);
}
